package com.getan.boot.module.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.getan.boot.common.annotation.Dict;
import com.getan.boot.common.holder.security.dto.MenuDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Set;

/**
 * 登录返回结构
 *
 * @author Bruce.Gong
 * @since 1.0.0-SNAPSHOT
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class LoginVO {

    @JsonProperty("accessToken")
    private String token;
    @JsonProperty("userid")
    private String username;
    @JsonProperty("username")
    private String nickname;
    private String avatar;
    @Dict("common_gender")
    private Integer gender;
    private String mobile;
    private Set<String> permissions;
    private List<MenuDTO> menus;

}
